/**
 * 文 件 名:  IBaseScript.java
 * 工 程 名:  ScriptManager
 * 创建日期:  2015年4月9日 上午9:31:25
 * 创建作者:  杨 强  <281455776@qq.com>
 */
package script;

import java.util.List;

/**
 * 基础脚本接口,脚本通常继承该接口的实现类BaseScript
 * 
 * @author 杨 强
 *
 */
public interface IBaseScript extends IScript {
    /**
     * 获取脚本类名称
     * 
     * @return
     */
    public String getName();

    /**
     * 获取脚本的所有事件
     * 
     * @return
     */
    public List<String> getEventList();

    /**
     * 脚本加载后的回调函数
     * <p>
     * <b> 每次加载脚本成功后系统都会自动调用该函数</b>
     */
    public void onloadScript();

    /**
     * 脚本卸载后的回调函数
     * <p>
     * <b> 每次卸载脚本成功后系统都会自动调用该函数</b>
     */
    public void unloadScript();

    /**
     * 脚本重载后的回调函数，只会在脚本重载时调用，发生在<code>load()</code>函数之后
     * <p>
     * <b> 脚本重载成功后系统都会自动调用该函数</b>
     * 
     * @param oldScript
     *            老脚本
     */
    public void reloadScript(IBaseScript oldScript);
}
